package com.totem.base.filter.support;

import cn.hutool.crypto.symmetric.AES;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;

import java.util.Date;

@Getter
@Setter
@ToString
public class SecurityContext {
    public static final String CACHE_GATEWAY_CONTEXT = "cacheGatewayContext";
    public static final String CACHE_REQUESTBODY_CONTEXT = "cachedRequestBodyObject";
    /**
     * cache json body
     */
    private String requestBody;
    /**
     * cache form data
     */
    private MultiValueMap<String, String> formData;
    /**
     * cache all request data include:form data and query param
     */
    private MultiValueMap<String, String> allRequestData = new LinkedMultiValueMap<>();
    /**
     * request to server time
     */
    private Date requestToServer;
    /**
     * cache sign
     */
    private String sign;

    private AES aes;
}
